home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib11.dsk
/
MLE DRIVER II.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
44 lines
10 REM **********************
11 REM * M.L.E. DRIVER II *
12 REM * BY W. T. DOYLE *
13 REM * COPYRIGHT (C) 1982 *
14 REM * BY MICRO-SPARC INC *
15 REM * LINCOLN, MA. 01773 *
16 REM **********************
100 HIMEM: 16368
110 ONERR GOTO 440
120 REM *** BLOAD MLE.B ***
130 LET D$ = CHR$(4): HOME : VTAB 12: HTAB 10: PRINT "ONE MOMENT PLEASE...": PRINT D$;"BLOAD MLE.B"
140 REM *** SET UP PATCHES ***
150 LET A$ = "3F5:4C 00 03 N 300:20 7B DD 20 52 E7 A6 50 A5 51 4C 41 F9 N 430E:20 DC 49 N 49DC:CE 72 43 A0 09 20 E4 FB AD 30 C0 60 N D823G"
160 FOR I = 1 TO LEN(A$): POKE 511 +I, ASC( MID$ (A$,I,1)) +128: NEXT : POKE 72,0: CALL -144
170 REM *** CALL MLE ***
180 CALL 16384
190 REM *** FILE LOADING ***
200 PRINT : HOME : PRINT D$;"CATALOG": PRINT : PRINT
210 LET N = PEEK(16369): PRINT "ENTER 'EXIT' TO RETURN TO MENU": PRINT : PRINT "ENTER FILE NAME ";: INPUT F$: IF F$ = "" THEN F$ = "NO NAME"
220 IF F$ = "EXIT" THEN 180
230 ON N GOTO 240,320
240 REM *** BSAVE ROUTINE ***
250 LET L% = PEEK(16370) +256 * PEEK(16371)
260 LET BA = PEEK(16372) +256 * PEEK(16373): LET LO = BA -256 * INT(BA/256): LET HI = INT(BA/256): POKE 6,LO: POKE 7,HI
270 HOME : VTAB 12: HTAB 6: PRINT "BSAVING ";F$;",A$";: & BA: PRINT ",L$";: & L%: PRINT
280 POKE 41795,7: POKE 41796,0: POKE 41798,6: POKE 41799,0
290 PRINT D$;"BSAVE";F<CTRL-A>$;",A20480,L";L%
300 POKE 41795,115: POKE 41796,170: POKE 41798,114: POKE 41799,170
310 GOTO 180
320 REM *** BLOAD ROUTINE ***
330 HOME : VTAB 12: HTAB 10: PRINT "BLOADING ";F$
340 LET AD = 20480:LO = AD -256 * INT(AD/256):HI = INT(AD/256): POKE 43634,LO: POKE 43635,HI
350 POKE 41853,6: POKE 41854,0: POKE 41856,7: POKE 41857,0
360 PRINT D$;"BLOAD";F$
370 POKE 41853,114: POKE 41854,170: POKE 41856,115: POKE 41857,170
380 LET BA = PEEK(6) +256 * PEEK(7)
390 LET LN = PEEK(43616) +256 * PEEK(43617)
400 HOME : VTAB 12: HTAB 6: PRINT F$;",A$";: & BA: PRINT ",L$";: & LN: PRINT " BLOADED": PRINT : PRINT : VTAB 20: HTAB 7: PRINT "PRESS ANY KEY TO CONTINUE": GET A$: PRINT A$
410 LET JP% = PEEK(16374) +256 * PEEK(16375)
420 CALL JP%: GOTO 180
430 REM *** ERROR HANDLING ***
440 LET EC% = PEEK(222): HOME : VTAB 11: HTAB 12
450 POKE 41795,115: POKE 41796,170: POKE 41798,114: POKE 41799,170: POKE 41853,114: POKE 41854,170: POKE 41856,115: POKE 41857,170: REM FIX DOS
460 PRINT "DISK ERROR CODE ";EC%: PRINT : HTAB 14: INPUT "PRESS RETURN ";A$: GOTO 180